Wildcards Wildcards may be used to specify a set of files on the command line: % ls *.txt jim.txt bob.txt % In a shell environment wildcards are expanded on the command line, rather than within each command. This means that expanded filenames are treated as text: % echo "These are my text files:" *.txt These are my text files: jim.txt bob.txt % Wildcards may be matched within the current working directory or at the end of a pathname. Matching in the middle of a pathname is not supported: Good wildcard patterns: *.h :tmp:*.h "my disk:my folder:my *" Bad wildcard patterns: *:tmp.h "my disk:*:my file" Wildcard Summary * - Match zero or more characters. For example, b* matches the files "b", "bat", "belfry", and so on. ? - Match exactly one character. For example b? matches "bb", "bz, and so on. [abc] - Match any character listed in the brackets. For example b[cd] matches "bc" or "bd". [a-d] - Match any character in the range "a" to "d". For example, b[w-z] matches "bw", "bx", "by" or "bz". [^abc] - Match any character not listed in the brackets. For example b[!a-z] matches "b0" and "b2", but not "ba" or "bi". \* - Match a literal "*". \? - Match a literal "?". \[ - Match a literal "[". Sample Patterns *.txt - Match all files which end with ".txt". b* - Match all files which start with "b". *tt* - Match all files which contain a "tt" anywhere. [abc]* - Match all files which start with an "a" or "b" or "c". [a-zA-Z0-9]* - Match all files which start with an alphanumeric character. b*[0-9] - Match all files which start with a "b" and end with a number. Wildcards and Quotes Macintosh filenames often contain spaces. To allow matching on such names, the nShell allows quoting of wildcard specifications: "my *" Match all files which start with "my" and a space. Note that the entire string is treated as a pattern. The command: % echo "These are my files: my *" would attempt to match files which start with "These are my...". To list my files, I would use the command: % echo "These are my files:" "my *" In this case, only the second parameter is expanded as a wildcard. Single quotes suppress wildcard expansion, as shown below. Suppressing Wildcard Expansion Strings contained within single quotes are not expanded: % echo 'my favorite pattern is *.txt' my favorite pattern is *.txt Backslash characters may be used to force single characters to be treated literally.